package cn.s1995.sloth.bizs.entity;

import cn.s1995.sloth.bizs.entity.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.experimental.Accessors;

/**
 * app版本信息
 *
 * @author Lex
 * @date 2024-05-11 09:21:45
 */
@Data
@Accessors(chain = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Schema(description = "app版本信息")
@TableName("biz_app_version")
public class AppVersion extends BaseEntity {


	/**
	* ID
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description = "ID")
    private Long id;

	/**
	* 平台：android ios
	*/
    @Schema(description = "平台：android ios")
    private String platform;

	/**
	* app_id
	*/
    @Schema(description = "app_id")
    private String appId;

	/**
	* 版本名称 manifest里的版本名称
	*/
    @Schema(description = "版本名称 manifest里的版本名称")
    private String editionName;

	/**
	* 版本号 最重要的manifest里的版本号（检查更新主要以服务器返回的edition_number版本号是否大于当前app的版本号来实现是否更新）
	*/
    @Schema(description = "版本号 最重要的manifest里的版本号（检查更新主要以服务器返回的edition_number版本号是否大于当前app的版本号来实现是否更新）")
    private Integer editionNumber;

	/**
	* apk、wgt包下载地址或者应用市场地址  安卓应用市场 market://details?id=xxxx 苹果store itms-apps://itunes.apple.com/cn/app/xxxxxx
	*/
    @Schema(description = "apk、wgt包下载地址或者应用市场地址  安卓应用市场 market://details?id=xxxx 苹果store itms-apps://itunes.apple.com/cn/app/xxxxxx")
    private String editionUrl;

	/**
	* 是否强制更新 0.代表否 1.代表是
	*/
    @Schema(description = "是否强制更新 0.代表否 1.代表是")
    private Integer editionForce;

	/**
	* 0是整包升级（apk或者appstore或者安卓应用市场） 1是wgt升级
	*/
    @Schema(description = "0是整包升级（apk或者appstore或者安卓应用市场） 1是wgt升级")
    private Integer packageType;

	/**
	* 是否发行  0.否 1.是 为了控制上架应用市场审核时不能弹出热更新框
	*/
    @Schema(description = "是否发行  0.否 1.是 为了控制上架应用市场审核时不能弹出热更新框")
    private Integer editionIssue;

	/**
	* 是否静默更新 0.代表否 1.代表是
	*/
    @Schema(description = "是否静默更新 0.代表否 1.代表是")
    private Integer editionSilence;

	/**
	* 版本更新内容 支持<br>自动换行
	*/
    @Schema(description = "版本更新内容 支持<br>自动换行")
	@TableField(value = "`describe`")
    private String describe;

	/**
	* 备注
	*/
    @Schema(description = "备注")
    private String remark;
}
